﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace Arkanoid
{
    class clsObject: GameComponent
    {
        public Texture2D textura;
        public Vector2 posicao;
        public Vector2 velocidade;
        public Boolean visivel = true;

        public clsObject(Game jogo, Texture2D textura, Vector2 posicao, Vector2 velocidade):base(jogo)
        {
            this.textura = textura;
            this.posicao = posicao;
            this.velocidade = velocidade;
        }

        public override void Update(GameTime gameTime)
        {
            //base.Update(gameTime);

            if (posicao.Y >= 800 - textura.Height || posicao.Y <= 0)
            {
                velocidade.Y *= -1;
            }
            if (posicao.X >= 600 - textura.Width || posicao.X <= 0)
            {
                velocidade.X *= -1;
            }

            posicao += velocidade;
        }

        public void Draw(SpriteBatch spriteBatch, Color cor)
        {
            spriteBatch.Draw(textura, posicao, cor);
        }

        public bool Colide(clsObject objeto)
        {
            Rectangle objeto1 = new Rectangle((int)posicao.X, (int)posicao.Y, textura.Width, textura.Height);
            Rectangle objeto2 = new Rectangle((int)objeto.posicao.X, (int)objeto.posicao.Y, objeto.textura.Width, objeto.textura.Height);
            return objeto1.Intersects(objeto2);
        }
    }
}
